home *** CD-ROM | disk | FTP | other *** search
/ Whiteline: Alpha / Whiteline Alpha.iso / progtool / c / laserlib / example / testmenu.c next >
Encoding:
C/C++ Source or Header  |  1994-09-22  |  2.2 KB  |  80 lines

  1. /**************************************************************************/
  2. /*                                                                        */
  3. /*                        T E S T U M G E B U N G                         */
  4. /*                                                                        */
  5. /**************************************************************************/
  6.  
  7. #include <stdio.h>
  8. #include <libterm.inc>
  9. #include <libstr.inc>
  10. #include <boolop.h>
  11. #include <popmenu.inc>
  12.  
  13. BYTE *functel();
  14. BYTE *selectall();
  15.  
  16. extern PM testmenu;
  17.  
  18. PME vorn_ent[] =
  19.    {
  20.       { "Alois",  (PMVALUE | PMSELECT), "Alois", NULP },
  21.       { "Sandro", (PMVALUE | PMSELECT), "Sandro", NULP },
  22.       { "Menu", (PMMENU | PMSELECT), (BYTE *) &testmenu, NULP },
  23.       { "Olli", (PMVALUE | PMSELECT), "Olli", NULP }
  24.    };
  25. PM vornmenu =
  26. {
  27.    "Vornamen", 10, 6, PMTABSIZE (vorn_ent), vorn_ent
  28. };
  29.  
  30. PME test_ent[] =
  31.    {
  32.       { "Name", PMVALUE | PMSELECT, "Name select", NULP },
  33.       { "Gebname", PMVALUE | PMSELECT, "Gebname", NULP },
  34.       { "Vorname", PMMENU | PMSELECT, (BYTE *) &vornmenu, "san" },
  35.       { "Alter", PMMENU | PMSELECT, (BYTE *) &vornmenu, NULP },
  36.       { "Strasse", PMVALUE | PMSELECT, "Strasse", NULP },
  37.       { "Bezirk", PMVALUE | PMSELECT, "Bezirk", NULP },
  38.       { "Beruf", PMVALUE | PMSELECT, "Beruf", NULP },
  39.       { "Telefon", PMFUNC | PMSELECT, functel, "Das ist die Telefonnummer" },
  40.       { "Select", PMPROC | PMSELECT, selectall, "" }
  41.    };
  42.    
  43. PM testmenu = 
  44. {
  45.    "Testmenu", 12, 7, PMTABSIZE (test_ent), test_ent
  46. };
  47.  
  48. BYTE *selectall (dummy, menup)
  49. BYTE *dummy;
  50. PM *menup;
  51. {
  52.    pmselect (menup, "", TRUE);
  53.    return ("Alle Eintraege selektiert!");
  54. }
  55.  
  56. BYTE *functel (param)
  57. BYTE *param;
  58. {
  59.    static BYTE buf[100];
  60.    extern BYTE *strcpyn();
  61.    
  62.    return (strcpyn (buf, param, " ", "666 777 888", NULP));
  63. }
  64.  
  65. main ()
  66. {
  67.    BYTE *ret;
  68.    WORD retkey;
  69.    
  70.    t_init();
  71.    pmselect (&testmenu, "B", FALSE);
  72.    pmselect (&testmenu, "alt", FALSE);
  73.    ret = pmexec (&testmenu, 7, 5, "Beruf", &retkey, !ISSUBMENU);
  74.    t_goxy (20, 20);
  75.    printf ("'%s'\n", (retkey == 27 ? "Abbruch" : ret));
  76.    t_getc();
  77.    t_exit();
  78. }
  79.  
  80.